<?php
// 命名参数
// function sum(int $a, int $b, int $c): int
// {
//     echo "a=$a", PHP_EOL;
//     echo "b=$b", PHP_EOL;
//     echo "c=$c", PHP_EOL;
//     return $a + $b + $c;
// }
// sum(1, 2, 3);
// sum(1, c: 3, b: 2);

// 注解

// 构造器属性提升
// class Person
// {
//     public function __construct(public int $age, protected string $name){}
//
//     public function desc()
//     {
//         echo "江湖人称:" . $this->name . ',年龄:' . $this->age . PHP_EOL;
//     }
// }
// $erge = new Person(name:"erge", age:18);
// $erge->desc();

// 联合类型

// match表达式
// $food = 'cake';
// $dinner = match ($food) {
//     'milk' => 'you choose milk',
//     'rice' => 'you choose rice',
//     'cake' => 'you choose cake',
// };
// var_dump($dinner);

// nullsafe运算符
// $obj = 'erge';
// $age = $obj?->age;
// var_dump($age);

// 参数列表末尾逗号
// function sum(
//     int $a,
//     int $b,
//     int $c,
// ) {
//     return $a + $b + $c;
// }
// var_dump(sum(1, 2, 3));
